
#ifndef _GFICHIER
#define _GFICHIER
#include <pthread.h>
#include <stdio.h>
#include <signal.h>
#include <glib.h>
#include <glib/gstdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include "liste.h"
#include "elemGenerique.h"

extern volatile sig_atomic_t STOP;

struct s_gFichier{
  List liste;
  pthread_mutex_t mut;
};

typedef struct s_gFichier gFichier;

void InitialiseGFichier(gFichier * gFichier);

void TestamentGFichier(gFichier * gFichier);

int InsererFichier(gFichier * gFichier, Element e);

int SupprimerFichier(gFichier * gFichier, Element e);

int ChercherFichier(gFichier * gFichier, Element e);

int SendListeFichier(char * pathDir, int socket);

int FindFichier(char * pathDir, char * fileName);

int envoieFichier(char * chemin, const char* fichier, int socket);

#endif
